www.gusucode.com > 6KBBS ASP版 V7.1 > 6KBBS ASP版 V7.1\code\bbs\admin\AdminFso.asp

    <!--#include file="AdminConn.asp"--><!--#include file="../inc/fun.asp"--><!--#include file="function.asp"--><!--#include file="../inc/md5.asp"-->
<%dim action,strt,i,lgname,lgpwd,lgpwdmd5,fs,f,usedtable
lgname=replace(session(prefix&"adlgname"),"'","''")
lgpwd=replace(session(prefix&"adlgpwd"),"'","''")

if isnull(lgname) or lgname="" or isnull(lgpwd) or lgpwd="" then
	response.redirect"admincheck.asp"
else
	lgpwdmd5=md5(lgpwd)
	if conn.execute("select top 1 bd from admin where name='"&lgname&"' and password='"&lgpwdmd5&"' and bd=0").eof then
		response.redirect"admincheck.asp"
	end if
end if

action=request.querystring("action")
select case action
case"" strt="论坛信息"
case"setadv","setadvok" strt="帖间广告管理"
case"access","compact","bak","restore" strt="数据库操作"
case"upload","deluphalfyear","delnovisit","delnouse" strt="上传文件管理"
end select
sub send(str)
response.write"<table border=1 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bordercolor=#F4F6FC width=100% bgcolor=#ffffff height=50><tr><td width=100% ><p style='margin:5px;line-height:150%'>"&str&"</p></td></tr></table>"
end sub
%>
<link rel=stylesheet type=text/css href=pic/css.css>
<STYLE type=text/css>
BODY {
	SCROLLBAR-FACE-COLOR:#205CC1; FONT: 9pt 宋体; SCROLLBAR-HIGHLIGHT-COLOR: #799ae1; SCROLLBAR-SHADOW-COLOR: #799ae1; SCROLLBAR-3DLIGHT-COLOR: #799ae1; SCROLLBAR-ARROW-COLOR: #ffffff; SCROLLBAR-TRACK-COLOR: #aabfec; SCROLLBAR-DARKSHADOW-COLOR: #799ae1
}

</style>
<body bgcolor="#D6DFF7" leftmargin="15"  rightmargin="15">
<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%" id="table7" height="18">
	<tr>
		<td align="right"> </td>
	</tr>
</table>

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" bgcolor="#1C58C9">
  <tr>
    <td class=td1 height="30" align="center" background="pic/lbg.gif" bgcolor="#1C58C9"><%=strt%></td>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1C58C9" width="100%" bgcolor=#ffffff>
  <tr>
    <td width="100%" valign="top">
<%
if not CheckObject("Scripting.FileSystemObject") then
	call send("<b>对不起!建立""Scripting.FileSystemObject""组件失败。</b><br>您的服务器可能不支持""Scripting.FileSystemObject""组件,该页面无法打开。")
	response.end
end if
select case action
%>
<%case""%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#F4F6FC" width="100%">
    <tr>
    <td class=td3 colspan=2>论坛信息:</td>
    </tr>
    <tr>
      <td width="30%" class=td2>
      <p style="margin: 5">服务器时间:</td>
      <td width="70%"> <%=now%></td>
    </tr>
    <tr>
      <td class=td2>
      <p style="margin: 5">IIS 版本:</td>
      <td> <%=Request.ServerVariables("SERVER_SOFTWARE")%></td>
    </tr>
    <tr>
      <td class=td2>
      <p style="margin: 5">脚本引擎版本:</td>
      <td> <%=ScriptEngine&":"&ScriptEngineMajorVersion&"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion%></td>
    </tr>
    <tr>
      <td class=td2>
      <p style="margin: 5">论坛代码版本:</td>
      <td> V7.1 &nbsp; 2007年5月4日版</td>
    </tr>
    <tr>
      <td class=td2>
      <p style="margin: 5">数据库的版本:</td>
      <td> <%=conn.version%></td>
    </tr>
        <tr>
      <td class=td2>
      <p style="margin: 5">session过期:</td>
      <td> <%=session.Timeout%> 分</td>
    </tr>    <tr>
      <td class=td2>
      <p style="margin: 5">论坛占用空间:</td>
      <td> <% Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(server.mappath("/"))
response.write formatnumber(f.size/1048576,2,-1)&"&nbsp;MB"
set f=nothing
set fs=nothing%></td>
    </tr>    <tr>
      <td class=td2>
      <p style="margin: 5">制作与维护</td>
      <td> Zym</td>
    </tr>    <tr>
      <td class=td2 colspan="2" bgcolor="#F4F6FC" height="25">
       </td>
    </tr>
  </table>
<%case"setadv"%><form method=POST action=adminfso.asp?action=setadvok>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#F4F6FC" width="100%">
  <tr class=td3>
    <td width="40%" bgcolor="#F4F6FC">论坛已有广告的显示效果:</td>
    <td width="60%" bgcolor="#F4F6FC">
    <p style="line-height: 150%; margin: 4">论坛已有广告的代码:(清空代码即删除广告。)</td>
  </tr>

<%
dim fso1,openfile,tmpstr,tmp,ad_num,ad_i,ad_tmp
set fso1 = server.createobject("scripting.filesystemobject")
Set openfile=fso1.OpenTextFile(Server.MapPath("../inc/ads.js"))
tmpstr=openfile.readall
tmp=split(tmpstr,chr(13)&chr(10))
ad_num=replace(tmp(1),"a = ","")
ad_num=int(replace(ad_num,";if(a==0){a=1}",""))
for ad_i=1 to ad_num
ad_tmp=replace(tmp(ad_i+8),"b["&ad_i&"].under =","")
ad_tmp=replace(ad_tmp,"'","")
response.write"<tr><td valign=top><p style='line-height: 150%; margin: 4'>"&ad_tmp&"</td><td><p style='line-height: 150%; margin: 4'><textarea  rows=5 cols=60 name=ad_v"&ad_i&" style='font-family: 宋体; font-size: 9pt'>"&ad_tmp&"</textarea></td></tr>"
next
openfile.close
set fso1=nothing
%>  
  <tr>
    <td class=td3 colspan="2">增加广告:</td>
  </tr>
  <tr>
    <td width="40%" bgcolor="#FFFFFF" valign="top" class=td2>
    <p style="line-height: 150%; margin: 4">广告内容:</td>
    <td width="60%" bgcolor="#FFFFFF">
    <p style="line-height: 150%; margin: 4">
    <textarea row=3 cols=60 name=ad_v<%=ad_num+1%> rows="5" style="font-family: 宋体; font-size: 9pt"></textarea></td>
  </tr>  <tr>
    <td width="100%" bgcolor="#F4F6FC" colspan="2" height="35" align="center">
    <input type="submit" value="     确  认  修  改     " name="B1"></td>
  </tr>
</table></form>


<%case"setadvok"
dim adv_num,ad_msg
set fso1 = server.createobject("scripting.filesystemobject")
Set openfile=fso1.OpenTextFile(Server.MapPath("../inc/ads.js"))
tmpstr=openfile.readall
tmp=split(tmpstr,chr(13)&chr(10))
ad_num=replace(tmp(1),"a = ","")
ad_num=int(replace(ad_num,";if(a==0){a=1}",""))
openfile.close
set fso1=nothing
adv_num=0
for ad_i=1 to ad_num+1
ad_tmp=replace(request.form("ad_v"&ad_i&""),"'","")
if trim(ad_tmp)<>"" or isnull(ad_tmp)then
adv_num=adv_num+1
ad_msg=ad_msg&"b["&adv_num&"].under ='"&ad_tmp&"'"&vbcrlf
end if
next
dim objFSO,objname
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objname=objFSO.CreateTextFile(Server.MapPath("../inc/ads.js"),True)
objname.Write"<!--"&vbcrlf&"a = "&adv_num&";if(a==0){a=1}"&vbcrlf&"var slump = Math.random();"&vbcrlf&"var talet = Math.round(slump * (a-1))+1;"&vbcrlf&"function create() { "&vbcrlf&"this.under = '' "&vbcrlf&"}"&vbcrlf&"b = new Array() "&vbcrlf&"for(var i=1; i<=a; i++) { b[i] = new create() } "&vbcrlf&ad_msg&"var visa = """";"&vbcrlf&"document.write(b[talet].under); "&vbcrlf&"//-->"
objname.close
set objfso=nothing
response.redirect"adminfso.asp?action=setadv"
%>
<%case"access"%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#F4F6FC" width="100%">
  <tr>
    <td width="100%" colspan="2" height="20" bgcolor="#F4F6FC"> </td>
  </tr>
<form method="POST" action="adminfso.asp?action=compact">
<tr>
    <td class=td3 colspan=2>压缩数据库:<input type="submit" value="  点击开始压缩  " name="B1"></td>
  </tr></form>
  <tr>
    <td width="100%" colspan="2" height="20" bgcolor="#F4F6FC"> </td>
  </tr><form method="POST" action="adminfso.asp?action=bak">
    <tr>
    <td class=td3 colspan=2>备份数据库</td>
  </tr>
  <tr>
    <td class=td2 width="30%" height="30">
    <p style="margin: 5">原来的数据库路径:</td>
    <td width="70%">
    <input type="text" name="using" size="39" value="../data/原来的数据库名.mdb"></td>
  </tr>
  <tr>
    <td class=td2 height="30">
    <p style="margin: 5">备份的数据库路径:</td>
    <td><input type="text" name="bak" size="39" value="../data/备份的数据库名.mdb"></td>
  </tr>
  <tr>
    <td colspan="2" bgcolor="#F4F6FC" align="center" height="32">
    <input type="submit" value="   确  定  备  份   " name="B1"></td>
  </tr></form>
  <form method="POST" action="adminfso.asp?action=restore">
  <tr>
    <td class=td1 width="100%" colspan="2" bgcolor="#F4F6FC" height="20">
     </td>
  </tr>
    <tr>
    <td class=td3 colspan=2>恢复数据库</td>
  </tr>
  <tr>
    <td class=td2 width="30%" height="30">
    <p style="margin: 5">备份的数据库路径:</td>
    <td width="70%">
    <input type="text" name="bak" size="39" value="../data/备份的数据库名.mdb"></td>
  </tr>
  <tr>
    <td class=td2 height="30">
    <p style="margin: 5">原来的数据库路径:</td>
    <td><input type="text" name="using" size="39" value="../data/原来的数据库名.mdb"></td>
  </tr>
  <tr>
    <td colspan="2" bgcolor="#F4F6FC" align="center" height="32">
    <input type="submit" value="   确  定  恢  复   " name="B1"></td>
  </tr></form>
</table>
<%
case"compact"
closedb
Const JET_3X = 4
Dim fso, Engine
Set fso = CreateObject("Scripting.FileSystemObject")
Set Engine = CreateObject("JRO.JetEngine")
Engine.CompactDatabase ConnStr,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../data/temp.mdb")
fso.CopyFile Server.MapPath("../data/temp.mdb"),Server.MapPath(db)
fso.DeleteFile(Server.MapPath("../data/temp.mdb"))
Set fso = nothing
Set Engine = nothing
call send("压缩成功。")
%>
<%case"bak"
set fso=Server.CreateOBject("Scripting.FileSystemObject")
'response.write Server.MapPath(Request("using"))&"<br>"
'response.write Server.MapPath(db)
if fso.fileexists(Server.MapPath(Request("using"))) and trim(replace(Server.MapPath(Request("using")),"'",""))=Server.MapPath(db) then
	fso.CopyFile Server.MapPath(Request("using")),Server.MapPath(Request("bak"))
	call send("备份成功。")
else
	call send("备份失败,请确定您输入的路径都正确。")
end if
set fso=nothing
%>
<%case"restore"
set fso=Server.CreateOBject("Scripting.FileSystemObject")
if fso.fileexists(Server.MapPath(Request("bak"))) and trim(replace(Server.MapPath(Request("using")),"'",""))=Server.MapPath(db) and instr(trim(Lcase(replace(request("bak"),"'",""))),"upload")<=0 then
fso.CopyFile Server.MapPath(Request("bak")),Server.MapPath(Request("using"))
call send("恢复成功。")
else
call send("恢复失败,请确定您输入的路径都正确。")
end if
set fso=nothing
case"upload"
%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#F4F6FC" width="100%" bgcolor="#749AEC">
    <tr>
      <td width="100%" height="32" bgcolor="#F4F6FC"> </td>
    </tr>
    <tr>
      <td class=td3><b><a href="adminfso.asp?action=delnovisit"><u>&gt;&gt;清理超过一个月没有访问的文件</u></a></b></td>
    </tr>
    <tr>
      <td class=td3><b>
		<a href="adminfso.asp?action=deluphalfyear"><u>&gt;&gt;清理半年前上传的文件</u></a></b></td>
    </tr>    <tr>
      <td  class=td3><b><a href="adminfso.asp?action=delnouse">
		<u>&gt;&gt;清理帖子中没有使用到的文件</u></a></b></td>
    </tr>
  </table>
<%
dim folder,files,upname,errmsg
case"deluphalfyear"
set fso=server.createobject("scripting.filesystemobject")
if not fso.FolderExists(server.mappath("upload/tobedel/")) then
fso.CreateFolder(server.mappath("upload/tobedel/"))
end if
set folder=fso.Getfolder(server.MapPath("upload/"))
set files=folder.files
for Each Upname In files
if datediff("d",upname.datecreated,now)>180 then
fso.MoveFile server.mappath("upload/"&upname.name),server.mappath("upload/tobedel/"&upname.name)
end if
next
call send("半年以前上传的文件已经被转移至upload/tobedel目录下。")
set folder=nothing
set files=nothing
set fso=nothing

case"delnovisit"
set fso=server.createobject("scripting.filesystemobject")
if not fso.FolderExists(server.mappath("upload/tobedel/")) then
fso.CreateFolder(server.mappath("upload/tobedel/"))
end if
set folder=fso.Getfolder(server.MapPath("upload/"))
set files=folder.files
for Each Upname In files
if datediff("d",upname.DateLastAccessed,now)>30 then
'处理要删除的文件
fso.MoveFile server.mappath("upload/"&upname.name),server.mappath("upload/tobedel/"&upname.name)
end if
next
call send("超过一个月没有访问的上传文件已经被转移至upload/tobedel目录下。")
set folder=nothing
set files=nothing
set fso=nothing

case"delnouse"
set fso=server.createobject("scripting.filesystemobject")
if not fso.FolderExists(server.mappath("upload/tobedel/")) then
fso.CreateFolder(server.mappath("upload/tobedel/"))
end if
usedtable=application(prefix&"usedtable")
usedtable=split(usedtable,"|")
for i=1 to ubound(usedtable)
set rs=conn.execute("select id,filename from [upload] where bbsid=0 or (bbsid not in(select bbsid from bbs"&usedtable(i)&") and totable="&usedtable(i)&")")
do while not rs.eof
fso.MoveFile server.mappath("upload/"&rs("filename")),server.mappath("upload/tobedel/"&rs("filename"))
conn.execute("delete from [upload] where id="&rs("id")&"")
rs.movenext
loop
set rs=nothing
next
call send("帖子中没有使用的上传文件已经被转移至upload/tobedel目录下。")
set fso=nothing
%>

<%end select%></td>
  </tr>
</table>